x11: Avoid a division by zero
authorPavel Roskin <plroskin@gmail.com>
Thu, 8 Mar 2018 14:58:42 +0000 (15:58 +0100)
committerDebarshi Ray <debarshir@gnome.org>
Thu, 8 Mar 2018 15:20:01 +0000 (16:20 +0100)
This is similar to f44baf51d9e8616a but for RandR 1.3 servers like
x11rdp and Windows Exceed which don't return a refresh rate. Avoid a
crash when that happens.

https://bugzilla.gnome.org/show_bug.cgi?id=775546

gdk/x11/gdkscreen-x11.c

index 2d973d425b37ecbe9578121997920e60a2e8f069..2ca0ac788655ef240dada13305dd53c989dcbcf5 100644 (file)
@@ -548,7 +548,8 @@ init_randr13 (GdkX11Screen *x11_screen, gboolean *changed)
               XRRModeInfo *xmode = &resources->modes[j];
               if (xmode->id == crtc->mode)
                 {
-                  refresh_rate = (1000 * xmode->dotClock) / (xmode->hTotal *xmode->vTotal);
+                  if (xmode->hTotal != 0 && xmode->vTotal != 0)
+                    refresh_rate = (1000 * xmode->dotClock) / (xmode->hTotal * xmode->vTotal);
                   break;
                 }
             }